The Universal Mobile Telecommunication System (UMTS) is one of the third generation mobile communication technologies designed to succeed Global System for Mobile communications (GSM). Long Term Evolution (LTE) is a project within the 3rd Generation Partnership Project (3GPP) to improve the UMTS standard to cope with future requirements in terms of improved services such as higher data rates, improved efficiency, and lowered costs. The Universal Terrestrial Radio Access Network (UTRAN) is the radio access network of a UMTS and Evolved UTRAN (E-UTRAN) is the radio access network of an LTE system. In an E-UTRAN, a wireless device such as a User Equipment (UE) 150 is wirelessly connected to a base station (BS) 110a commonly referred to as an evolved NodeB (eNodeB), as illustrated in FIG. 1. Each eNodeB 110a-c serves a cell 120a-c. 
In LTE, scheduling is modelled in the Medium Access Control (MAC) layer and resides in the eNodeB. A scheduler in the eNodeB assigns radio resources, also called Resource Blocks (RB), for a downlink as well as for an uplink using the Physical Downlink Control CHannel (PDCCH). Assignments are used to assign resources for the downlink, and grants are used to assign resources for the uplink. The uplink is the transmission path from the UE to the eNodeB. The downlink is the inverse of the uplink, i.e. the transmission path from the eNodeB to the UE.
As it is the eNodeB that handles the scheduling for the uplink, the eNodeB needs information about the current state of the buffers in the UE, i.e. if and how much data the UE has in its priority queues, in order to allocate resources and to prioritize resource allocations between different UEs. Information about the buffer states is transmitted by the UE in a one bit Scheduling Request (SR) and/or in a Buffer Status Report (BSR). The SRs are transmitted on a control channel such as a Physical Uplink Control CHannel (PUCCH) or Radio Access CHannel (RACH), while the BSRs are transmitted on a data channel such as a Physical Uplink Shared CHannel (PUSCH). The BSRs are often transmitted together with user data, and MAC signaling is used for the transmission.
When the eNodeB receives an SR it knows that there is data waiting for transmission in the UE buffer. However, uplink BSRs are needed in order for the eNodeB to know the amount of data waiting for transmission. In E-UTRAN uplink BSRs refer to the data that is buffered for a Logical Channel Group (LCG) in the UE. Four LCGs and two formats are used for the reporting. A short BSR format is used to inform about the buffer size of one LCG, and a long BSR format is used to inform about the buffer sizes of all four LCGs.
The UE triggers a regular BSR and SR when uplink data becomes available for transmission and the buffers were empty just before this new data became available for transmission. A BSR and SR are also triggered when uplink data becomes available for transmission and the data belongs to an LCG with higher priority than the LCGs for which data already existed in the UE buffer.
In case a transport block size is larger than the amount of data available for transmission at the time of assembly of the MAC Protocol Data Unit (PDU) for transmission, a BSR may also be included with the data. Such a BSR is referred to as a padding BSR. In case the UE has data for more than one LCG but is using the short BSR format that may only contain information about one LCG, a truncated format is also available as a padding BSR. Still another type of BSR exists, called the periodic BSR, to handle reporting for continuous flows where the buffer is not frequently emptied. A timer-based trigger for each UE determines when a periodic BSR shall be transmitted. However, it is only transmitted if no regular BSR has been transmitted.
Precise and up-to-date scheduling information allows for more accurate scheduling decisions, and may help to optimize the use and management of radio resources and to improve capacity. However, the accuracy of the information provided by the UE is limited by the rather low granularity of the BSRs, and frequency of the SR and BSR transmissions, and by the delay between the reception of the SR or BSR and the scheduling decision.
For delay sensitive services with periodical packet arrival, such as Voice over Internet Protocol (VoIP) services, the likelihood that the buffer status information in the BSR is outdated when it is used is high. It is likely that additional data has arrived since the BSR was transmitted. It is also likely that the buffer will be emptied frequently, and in such a case the only available information about the buffer status is the one bit SR.
With incorrect information about the buffer status in the UE, the scheduler in the eNodeB will assign either too many or too few RBs in the grant. Too many assigned RBs results in that the UE transmits padding instead of useful data, which may lead to a reduced system capacity. Too few assigned RBs may lead to Radio Link Control (RLC) segmentation and an increased transmission delay.
FIG. 2 illustrates a simplified example of what might happen when a scheduling principle adopted for best-effort data services is applied to VoIP, resulting in unnecessary delay and many grant transmissions between an eNodeB 210 and a UE 250. When a first data unit, here called packet 230, arrives at the UE buffer, an SR 220 is transmitted that triggers a small grant 221 only allowing transmission in 222 of a BSR and a small amount of data (TX) from the first packet 230. The packets arriving at the UE have a size of 320 bits in this example. While waiting for a second grant 223, a second packet 231 arrives. However, the second grant received in 223 does not allow for the transmission of the second packet 231, so a new BSR is transmitted together with the first packet data in 224. Two grants 221, 223 are thus spent to transmit one single first packet 230, and a second packet 231 that could have been transmitted with the first packet 223 has to wait for the transmission of a third grant in 225.
To avoid these problems, a method for buffer status estimation is used, as schematically illustrated in the signaling diagram in FIG. 3. The eNodeB 310 may estimate when a first packet has arrived to the buffer of the UE 350. The estimate may be based on knowledge about the service behavior indicating arrival times and packet sizes. Such knowledge may comprise e.g. that most VoIP codecs have a fixed frame interval of 20 ms when in a talk state. A new packet will thus arrive every 20 ms. In silent state the frame interval may increase to e.g. 160 ms for an Adaptive Multi Rate (AMR) codec. Further it may be assumed that a packet size is the same as a size of a previous packet. Furthermore, codec state changes, such as a change from talk state to silence state may be detected by examining the sizes of received packets.
The buffer estimation method makes it possible to schedule data more efficiently, with shorter delays. In the signaling diagram in FIG. 3, a packet 330 with a size of 320 bits is buffered in the UE 350. A SR 320 may be sent from the UE 350 to the eNodeB 310. The eNodeB 310 estimates that a further 320-bit packet 331 may arrive to the UE 350 before a grant sent from the eNodeB 310 has propagated to the UE 350. Thus a 640-bit grant 321 may be sent from the eNodeB 310 to the UE 350. Having received the grant 321, the UE 350 may send the two packets 330, 331 comprising 640 bits to the eNodeB 310.
The UE buffer estimation performed by the eNodeB may thus preemptively increase the buffer estimates for UEs without having to receive neither an SR nor a BSR. Proactive grants may then be sent from the eNodeB to the UE, thereby reducing the overall traffic load within the system. The UE buffer estimation also allows for more accurate estimation of the buffer status in a highly loaded system where the interval between UE schedulings might be higher than 20 ms, in which case multiple frames may be comprised in a single grant.
The buffer estimation method may distinguish and alter between two states: a proactive state corresponding to the codec's talk state, and a passive state corresponding to the codec's silent state. A state change from proactive to passive may occur when the codec switches between the corresponding talk state and silence state. A silence state frame is for common speech codecs sometimes referred to as a Silence Indicator (SID) frame. A SID frame is transmitted by the codec when no one is speaking and no speech data needs to be transmitted. When someone is speaking, the codec is in the talk state and transmits talk frames.
In the proactive state of the buffer estimation, the eNodeB estimates when the next talk frame will arrive and which size it will have. When an SR is received and the current buffer estimate is zero, the buffer content size may be set to the expected size of one talk frame and the estimated arrival time at the UE buffer may be set to the SR transmission time. A talk frame interval after the latest estimated arrival time, the buffer size estimate is increased by the size of the latest received frame. Furthermore the latest estimated arrival time is set to the current time. If the talk frame interval is 20 ms, the buffer content size estimation will thus be increased every 20 ms. On BSR reception, the buffer size estimates is updated according to the report. On reception of a data unit, the state will change to passive if the size of the data unit is smaller than a size threshold. The size threshold may be between the size of a SID frame and the size of a talk frame. Furthermore, the passive state may be entered if two consecutive data units are received with only padding.
In the passive state the eNodeB expects SRs when data has arrived in the buffer of a UE. On SR reception, the buffer content size may be set to the expected size of one SID frame and the estimated arrival time may be set to the SR transmission time, if the current buffer estimate is zero. On reception of a data unit, the state is changed to proactive if the size of the data unit is larger than the size threshold.
However, when variable rate codecs such as Enhanced Variable Rate Codec (EVRC) are used, the detection of when to change from passive and to proactive is made more difficult. This is due to that there may be little difference between the size of a SID frame and the size of a talk frame with a variable rate codec. When speech is easy to code, the frames in talk state may be shorter for an EVCR than an AMR codec, which thus makes it difficult to separate talk frames from SID frames based on the frame size in such a case. When it is difficult to tell if a frame is a SID frame or a talk frame, it is also difficult to determine when to change from passive to proactive state. Using a size threshold as described above may not give a correct result. This may in turn make the buffer estimation less accurate, thus affecting the performance of a UE.